#ifndef __CHATROOM_H__
#define __CHATROOM_H__

#include <iostream>
#include <string>
#include <unistd.h>
#include <json-c/json.h>
#include "stdTcpServer.h"
#include <unordered_map>
#include "SQliteDataBase.h"

#define BUFFER_SIZE 128 //  可能会有问题

using namespace std;

class ChatRoom
{
public:
    ChatRoom(const StdTcpSocketPtr & client);
    ~ChatRoom();
public:
    /* 处理用户注册 */
    void handleRegisterInfo(const string & msg);

    /* 处理用户登录 */
    void handleLoginInfo(const string & msg);

    /* 提出好友申请 */
    void handleFriendRequest(const string & msg);

    /* 反馈好友申请结果 */
    void handleFriendResult(const string & msg);

private:
    /* 判断用户是否存在*/
    bool userIsExist(const string & name);

    /* 判断用户账号密码是否正确*/
    int userIsRight(const string & name, const string & passwd);

    /* 保存用户信息 */
    bool saveUserInfo(const string & name, const string & passwd);
private:
    StdTcpSocketPtr m_clientInfo;
    
    //SQliteDataBase m_sqliteBase;  
    //数据库已设置成单例，直接通过getInstance获取数据库实例，不需要单独设置成员变量

};



#endif